<?php
//命名空间就是包，用来存放项目的类,函数,常量
// namespace AA;
// function add(){
//     echo "加法";

// };
// namespace b;
// function add(){
//     echo "两段话是的法师";
// }
// namespace bb;
// function add(){
//     echo "san段话是的法师";
// }


// \AA\add();
// \b\add();//公共空间

//多级命名空间 命名空间的名字可以使多级的（子级命名空间）
namespace AA\bb\cc;
function say(){
    echo "中文";
}
class student{
public $name;

};

namespace AA\bb\dd;
function say(){
    echo "42文";
}
class student{
public $age;
}

class car{
    public $name;
}
const PI=3.14;

namespace BB\DD;
function say1(){
    echo "英文";
}


// \BB\DD\say();
// $stu=new \AA\bb\cc\student();
// var_dump($stu);

//访问空间元素的三种方式
//1.完全限定名称访问
// \AA\bb\cc\say();
//2.非限定性名称访问
// say();
//3.限定名称访问
// dd\say();
// cc\say();


//引入命名空间
//完全限定名称访问元素路径太长，可以将其他空间引入
// use AA\bb\dd;//use引入命名空间
// dd\say();
// use AA\bb\cc;
// $stu=new cc\student();
// use AA\bb\dd\student;
// $stu=new student();
// var_dump($stu);
// var_dump($stu);
// $car=new car();
// use function AA\bb\dd\say;
// say();
// use function AA\bb\dd\say;
// say();

// use const AA\bb\dd\say as speek;
// speek();


?>
